<?php
header("Content-type: text/html; charset=utf-8");
// error_reporting(E_ALL^E_NOTICE); //关闭notice级别的提示
class db_class{
	public $db_url;  //连接地址
	public $db_username;  //连接名
	public $db_userpassword;  //连接密码
	public $db_name;  //数据库名
	public $db_tablename;  //表名
	public $db_conn;  //数据库连接
	public $db_order;
	public $db_limit;
	
	public function db_getconn(){  //连接数据库
		$this->db_conn= mysqli_connect($this->db_url,$this->db_username,$this->db_userpassword);
		if (!$this->db_conn)
		{
			die('Could not connect: ' . mysql_error());
		}
        $rst=mysqli_select_db($this->db_conn,$this->db_name);
	}
	
	public function __construct($db_url,$db_username,$db_userpassword,$db_name){  //构造方法赋值
		$this->db_url=$db_url;
		$this->db_username=$db_username;
		$this->db_userpassword=$db_userpassword;
		$this->db_name=$db_name;
		$this->db_order="";
		$this->db_limit="";
		$this->db_getconn();
	}
	
	public function db_settablename($db_tablename){  //设置表名
		$this->db_tablename=$db_tablename;
	}	
	
	public function  db_setorder($str){  //排序操作
		$this->db_order="order by $str";	
	}
	
	public function  db_setlimit($start,$end){  //分页操作
	  $this->db_limit="limit $start,$end";
	}
	
	public function db_select($typearr="",$where=""){  //查询操作
		if(empty($typearr)){			
			$typearr="*";
		}		
		else{			
			$typearr=implode(",",$typearr);			
		}
		if(empty($where)){			
			$where="";
		}else{			
			$where="where ".$where;
		}		
		$arr=array();
        $sql="select $typearr from $this->db_tablename  $where $this->db_order $this->db_limit ";
        //$sql="select * from article";
        $result =mysqli_query($this->db_conn,$sql);
        //var_dump($result);
		while($row = mysqli_fetch_assoc($result))		{
			$arr[]=$row;
		}
		return $arr;
	}
	
	public function db_update($typearr,$valuearr,$where=""){ //更新操作
        $sql="";
		if(empty($where)){
			$where="";
		}else{
			$where=" where ".$where;
		}
		$sql.="update $this->db_tablename set ";
		 foreach ($typearr as $key=>$value){
		 	if(count($typearr)-1==$key){
		 		
		 		$sql.=$value."='".$valuearr[$key]."'";
		 	}else{
		 		
		 		$sql.=$value."='".$valuearr[$key]."'";
		 	}
		 }
		$sql.=$where;
		mysqli_query($sql);	
	}
	
	public function db_delete($typestr,$valuestr){  //删除操作
        $sql="delete from $this->db_tablename WHERE $typestr=$valuestr";
        mysqli_query($sql);
	}
	
	public function db_insert($typearr,$valuearr){  //插入操作
		$sql="insert into $this->db_tablename(".implode(",", $typearr).") values(".implode(",", $valuearr).")";
		mysqli_query($sql);
	}
	
	public function __destruct(){  //析构方法关闭连接
		mysqli_close($this->db_conn);
	}
}



/**
 * 数组 转 对象
 *
 * @param array $arr 数组
 * @return object
 */
function array_to_object($arr) {
    if (gettype($arr) != 'array') {
        return;
    }
    foreach ($arr as $k => $v) {
        if (gettype($v) == 'array' || getType($v) == 'object') {
            $arr[$k] = (object)array_to_object($v);
        }
    }
 
    return (object)$arr;
}
 
/**
 * 对象 转 数组
 *
 * @param object $obj 对象
 * @return array
 */
function object_to_array($obj) {
    $obj = (array)$obj;
    foreach ($obj as $k => $v) {
        if (gettype($v) == 'resource') {
            return;
        }
        if (gettype($v) == 'object' || gettype($v) == 'array') {
            $obj[$k] = (array)object_to_array($v);
        }
    }
 
    return $obj;
}